using System;
using Com.Core.Module.Abstractions;
using Com.Modules.AdminModule.Repositories.Abstractions;
using Com.Modules.AdminModule.Repositories.Implementations;
using Com.Modules.AdminModule.Services.Abstractions;
using Com.Modules.AdminModule.Services.Implementations;

namespace Com.Modules.AdminModule;

public class AdminModule: IModule
{
    // 注册模块需要的服务
    public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
    {
        // 1. 注册公共服务（对外暴露）
        services.AddScoped<IAdminService, AdminService>();
        
        // 2. 注册内部组件（仅本模块使用）
        services.AddScoped<IAdminRepository, AdminRepository>();

        // 3. 配置模块专属选项
        // services.Configure<DatabaseOptions>(config.GetSection("Database"));
    }


    // 配置模块特定的中间件和路由
    public void Configure(IApplicationBuilder app)
    {
        // 配置模块特定中间件
        // 配置模块路由
    }
}
